package com.changgou.pay.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;

/**
 *
 */
@FeignClient(name = "pay")
@RequestMapping("/wxpay")
public interface PayFeign {


    /**
     * 预支付接口, 调用这个接口, 这个接口调用微信的统一下单接口
     * 生成支付链接返回
     * @return
     */
    @RequestMapping("/nativePay")
    public Map nativePay() throws Exception;

    /**
     * 调用微信查询接口, 查询支付状态
     * @param orderId 订单id
     * @return
     */
    @GetMapping("/query/{orderId}")
    public Map queryPay(@PathVariable(value = "orderId") String orderId);

    /**
     * 根据订单id, 关闭微信支付通道
     * @param orderId
     * @return
     */
    @GetMapping("/close/{orderId}")
    public Map closePay(@PathVariable(value = "orderId") String orderId);

    /**
     * 预支付接口, 调用这个接口, 这个接口调用微信的统一下单接口
     * 生成支付链接返回
     * @return
     */
    @GetMapping("/centerNativePay/{orderId}")
    public Map centerNativePay(@PathVariable("orderId")String orderId) throws Exception ;

}
